#!/usr/bin/env python2
## -*- coding: utf-8 -*-

import sys

def sx(bits, value):
    sign_bit = 1 << (bits - 1)
    return (value & (sign_bit - 1)) - (value & sign_bit)

SymVar_0 = int(sys.argv[1])
ref_263 = SymVar_0
ref_278 = ref_263 # MOV operation
ref_29586 = ref_278 # MOV operation
ref_32890 = ref_29586 # MOV operation
ref_32896 = (0x1F02C962 | ref_32890) # OR operation
ref_36225 = ref_32896 # MOV operation
ref_36231 = (0x1F8797B2 & ref_36225) # AND operation
ref_37892 = ref_36231 # MOV operation
ref_62827 = ref_278 # MOV operation
ref_76141 = ref_37892 # MOV operation
ref_77777 = ref_62827 # MOV operation
ref_77781 = ref_76141 # MOV operation
ref_77783 = (ref_77781 & ref_77777) # AND operation
ref_79444 = ref_77783 # MOV operation
ref_104379 = ref_278 # MOV operation
ref_107683 = ref_104379 # MOV operation
ref_107689 = (((sx(0x40, 0x66AF1DF) * sx(0x40, ref_107683)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_122693 = ref_79444 # MOV operation
ref_124321 = ref_122693 # MOV operation
ref_124335 = (ref_124321 >> (0x7 & 0x3F)) # SHR operation
ref_139342 = ref_79444 # MOV operation
ref_140970 = ref_139342 # MOV operation
ref_140984 = ((ref_140970 << (0x39 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_142645 = ref_124335 # MOV operation
ref_142649 = ref_140984 # MOV operation
ref_142651 = (ref_142649 | ref_142645) # OR operation
ref_144312 = ref_107689 # MOV operation
ref_144316 = ref_142651 # MOV operation
ref_144318 = ((ref_144316 + ref_144312) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_145980 = ref_144318 # MOV operation
ref_285706 = ref_145980 # MOV operation
ref_303996 = ref_145980 # MOV operation
ref_305632 = ref_285706 # MOV operation
ref_305636 = ref_303996 # MOV operation
ref_305638 = ((ref_305636 + ref_305632) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_307300 = ref_305638 # MOV operation
ref_342272 = ref_145980 # MOV operation
ref_358894 = ref_79444 # MOV operation
ref_362198 = ref_358894 # MOV operation
ref_362204 = (0x7 & ref_362198) # AND operation
ref_363857 = ref_362204 # MOV operation
ref_363871 = ((ref_363857 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_365532 = ref_342272 # MOV operation
ref_365536 = ref_363871 # MOV operation
ref_365538 = (ref_365536 | ref_365532) # OR operation
ref_367199 = ref_365538 # MOV operation
ref_367201 = ((ref_367199 >> 56) & 0xFF) # Byte reference - MOV operation
ref_367202 = ((ref_367199 >> 48) & 0xFF) # Byte reference - MOV operation
ref_367203 = ((ref_367199 >> 40) & 0xFF) # Byte reference - MOV operation
ref_367204 = ((ref_367199 >> 32) & 0xFF) # Byte reference - MOV operation
ref_367205 = ((ref_367199 >> 24) & 0xFF) # Byte reference - MOV operation
ref_367206 = ((ref_367199 >> 16) & 0xFF) # Byte reference - MOV operation
ref_367207 = ((ref_367199 >> 8) & 0xFF) # Byte reference - MOV operation
ref_367208 = (ref_367199 & 0xFF) # Byte reference - MOV operation
ref_397107 = ref_367201 # MOVZX operation
ref_398735 = (ref_397107 & 0xFF) # MOVZX operation
ref_453535 = ref_367208 # MOVZX operation
ref_455163 = (ref_453535 & 0xFF) # MOVZX operation
ref_455165 = (ref_455163 & 0xFF) # Byte reference - MOV operation
ref_485063 = (ref_398735 & 0xFF) # MOVZX operation
ref_486691 = (ref_485063 & 0xFF) # MOVZX operation
ref_486693 = (ref_486691 & 0xFF) # Byte reference - MOV operation
ref_511703 = ref_37892 # MOV operation
ref_531661 = ((((((((ref_455165) << 8 | ref_367202) << 8 | ref_367203) << 8 | ref_367204) << 8 | ref_367205) << 8 | ref_367206) << 8 | ref_367207) << 8 | ref_486693) # MOV operation
ref_546615 = ref_79444 # MOV operation
ref_548251 = ref_531661 # MOV operation
ref_548255 = ref_546615 # MOV operation
ref_548257 = (ref_548255 & ref_548251) # AND operation
ref_551586 = ref_548257 # MOV operation
ref_551592 = (0x1F & ref_551586) # AND operation
ref_553245 = ref_551592 # MOV operation
ref_553259 = ((ref_553245 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_554920 = ref_511703 # MOV operation
ref_554924 = ref_553259 # MOV operation
ref_554926 = (ref_554924 | ref_554920) # OR operation
ref_556587 = ref_554926 # MOV operation
ref_606512 = ref_307300 # MOV operation
ref_624802 = ref_307300 # MOV operation
ref_626438 = ref_606512 # MOV operation
ref_626442 = ref_624802 # MOV operation
ref_626444 = ((ref_626442 + ref_626438) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_628106 = ref_626444 # MOV operation
ref_663078 = ref_628106 # MOV operation
ref_679700 = ((((((((ref_455165) << 8 | ref_367202) << 8 | ref_367203) << 8 | ref_367204) << 8 | ref_367205) << 8 | ref_367206) << 8 | ref_367207) << 8 | ref_486693) # MOV operation
ref_683004 = ref_679700 # MOV operation
ref_683010 = (0x7 & ref_683004) # AND operation
ref_684663 = ref_683010 # MOV operation
ref_684677 = ((ref_684663 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_686338 = ref_663078 # MOV operation
ref_686342 = ref_684677 # MOV operation
ref_686344 = (ref_686342 | ref_686338) # OR operation
ref_688005 = ref_686344 # MOV operation
ref_688007 = ((ref_688005 >> 56) & 0xFF) # Byte reference - MOV operation
ref_688008 = ((ref_688005 >> 48) & 0xFF) # Byte reference - MOV operation
ref_688009 = ((ref_688005 >> 40) & 0xFF) # Byte reference - MOV operation
ref_688010 = ((ref_688005 >> 32) & 0xFF) # Byte reference - MOV operation
ref_688011 = ((ref_688005 >> 24) & 0xFF) # Byte reference - MOV operation
ref_688012 = ((ref_688005 >> 16) & 0xFF) # Byte reference - MOV operation
ref_688013 = ((ref_688005 >> 8) & 0xFF) # Byte reference - MOV operation
ref_688014 = (ref_688005 & 0xFF) # Byte reference - MOV operation
ref_717913 = ref_688007 # MOVZX operation
ref_719541 = (ref_717913 & 0xFF) # MOVZX operation
ref_774341 = ref_688014 # MOVZX operation
ref_775969 = (ref_774341 & 0xFF) # MOVZX operation
ref_775971 = (ref_775969 & 0xFF) # Byte reference - MOV operation
ref_805869 = (ref_719541 & 0xFF) # MOVZX operation
ref_807497 = (ref_805869 & 0xFF) # MOVZX operation
ref_807499 = (ref_807497 & 0xFF) # Byte reference - MOV operation
ref_832509 = ref_556587 # MOV operation
ref_852467 = ((((((((ref_775971) << 8 | ref_688008) << 8 | ref_688009) << 8 | ref_688010) << 8 | ref_688011) << 8 | ref_688012) << 8 | ref_688013) << 8 | ref_807499) # MOV operation
ref_867421 = ((((((((ref_455165) << 8 | ref_367202) << 8 | ref_367203) << 8 | ref_367204) << 8 | ref_367205) << 8 | ref_367206) << 8 | ref_367207) << 8 | ref_486693) # MOV operation
ref_869057 = ref_852467 # MOV operation
ref_869061 = ref_867421 # MOV operation
ref_869063 = (ref_869061 & ref_869057) # AND operation
ref_872392 = ref_869063 # MOV operation
ref_872398 = (0x1F & ref_872392) # AND operation
ref_874051 = ref_872398 # MOV operation
ref_874065 = ((ref_874051 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_875726 = ref_832509 # MOV operation
ref_875730 = ref_874065 # MOV operation
ref_875732 = (ref_875730 | ref_875726) # OR operation
ref_877393 = ref_875732 # MOV operation
ref_925531 = ((((((((ref_455165) << 8 | ref_367202) << 8 | ref_367203) << 8 | ref_367204) << 8 | ref_367205) << 8 | ref_367206) << 8 | ref_367207) << 8 | ref_486693) # MOV operation
ref_938845 = ((((((((ref_775971) << 8 | ref_688008) << 8 | ref_688009) << 8 | ref_688010) << 8 | ref_688011) << 8 | ref_688012) << 8 | ref_688013) << 8 | ref_807499) # MOV operation
ref_940481 = ref_925531 # MOV operation
ref_940485 = ref_938845 # MOV operation
ref_940487 = (ref_940485 | ref_940481) # OR operation
ref_943816 = ref_940487 # MOV operation
ref_943822 = (0xF & ref_943816) # AND operation
ref_947151 = ref_943822 # MOV operation
ref_947157 = (0x1 | ref_947151) # OR operation
ref_962164 = ref_79444 # MOV operation
ref_963792 = ref_962164 # MOV operation
ref_963806 = (ref_963792 >> (0x1 & 0x3F)) # SHR operation
ref_967135 = ref_963806 # MOV operation
ref_967141 = (0xF & ref_967135) # AND operation
ref_970470 = ref_967141 # MOV operation
ref_970476 = (0x1 | ref_970470) # OR operation
ref_983815 = ref_877393 # MOV operation
ref_985443 = ref_983815 # MOV operation
ref_985455 = ref_970476 # MOV operation
ref_985457 = (ref_985443 >> ((ref_985455 & 0xFF) & 0x3F)) # SHR operation
ref_1000464 = ref_79444 # MOV operation
ref_1002092 = ref_1000464 # MOV operation
ref_1002106 = (ref_1002092 >> (0x1 & 0x3F)) # SHR operation
ref_1005435 = ref_1002106 # MOV operation
ref_1005441 = (0xF & ref_1005435) # AND operation
ref_1008770 = ref_1005441 # MOV operation
ref_1008776 = (0x1 | ref_1008770) # OR operation
ref_1012109 = ref_1008776 # MOV operation
ref_1012111 = ((0x40 - ref_1012109) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_1012119 = ref_1012111 # MOV operation
ref_1025453 = ref_877393 # MOV operation
ref_1027081 = ref_1025453 # MOV operation
ref_1027093 = ref_1012119 # MOV operation
ref_1027095 = ((ref_1027081 << ((ref_1027093 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_1028756 = ref_985457 # MOV operation
ref_1028760 = ref_1027095 # MOV operation
ref_1028762 = (ref_1028760 | ref_1028756) # OR operation
ref_1030415 = ref_1028762 # MOV operation
ref_1030427 = ref_947157 # MOV operation
ref_1030429 = ((ref_1030415 << ((ref_1030427 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_1043768 = ((((((((ref_455165) << 8 | ref_367202) << 8 | ref_367203) << 8 | ref_367204) << 8 | ref_367205) << 8 | ref_367206) << 8 | ref_367207) << 8 | ref_486693) # MOV operation
ref_1057082 = ((((((((ref_775971) << 8 | ref_688008) << 8 | ref_688009) << 8 | ref_688010) << 8 | ref_688011) << 8 | ref_688012) << 8 | ref_688013) << 8 | ref_807499) # MOV operation
ref_1058718 = ref_1043768 # MOV operation
ref_1058722 = ref_1057082 # MOV operation
ref_1058724 = (ref_1058722 | ref_1058718) # OR operation
ref_1062053 = ref_1058724 # MOV operation
ref_1062059 = (0xF & ref_1062053) # AND operation
ref_1065388 = ref_1062059 # MOV operation
ref_1065394 = (0x1 | ref_1065388) # OR operation
ref_1068727 = ref_1065394 # MOV operation
ref_1068729 = ((0x40 - ref_1068727) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_1068737 = ref_1068729 # MOV operation
ref_1083739 = ref_79444 # MOV operation
ref_1085367 = ref_1083739 # MOV operation
ref_1085381 = (ref_1085367 >> (0x1 & 0x3F)) # SHR operation
ref_1088710 = ref_1085381 # MOV operation
ref_1088716 = (0xF & ref_1088710) # AND operation
ref_1092045 = ref_1088716 # MOV operation
ref_1092051 = (0x1 | ref_1092045) # OR operation
ref_1105390 = ref_877393 # MOV operation
ref_1107018 = ref_1105390 # MOV operation
ref_1107030 = ref_1092051 # MOV operation
ref_1107032 = (ref_1107018 >> ((ref_1107030 & 0xFF) & 0x3F)) # SHR operation
ref_1122039 = ref_79444 # MOV operation
ref_1123667 = ref_1122039 # MOV operation
ref_1123681 = (ref_1123667 >> (0x1 & 0x3F)) # SHR operation
ref_1127010 = ref_1123681 # MOV operation
ref_1127016 = (0xF & ref_1127010) # AND operation
ref_1130345 = ref_1127016 # MOV operation
ref_1130351 = (0x1 | ref_1130345) # OR operation
ref_1133684 = ref_1130351 # MOV operation
ref_1133686 = ((0x40 - ref_1133684) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_1133694 = ref_1133686 # MOV operation
ref_1147028 = ref_877393 # MOV operation
ref_1148656 = ref_1147028 # MOV operation
ref_1148668 = ref_1133694 # MOV operation
ref_1148670 = ((ref_1148656 << ((ref_1148668 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_1150331 = ref_1107032 # MOV operation
ref_1150335 = ref_1148670 # MOV operation
ref_1150337 = (ref_1150335 | ref_1150331) # OR operation
ref_1151990 = ref_1150337 # MOV operation
ref_1152002 = ref_1068737 # MOV operation
ref_1152004 = (ref_1151990 >> ((ref_1152002 & 0xFF) & 0x3F)) # SHR operation
ref_1153665 = ref_1030429 # MOV operation
ref_1153669 = ref_1152004 # MOV operation
ref_1153671 = (ref_1153669 | ref_1153665) # OR operation
ref_1155332 = ref_1153671 # MOV operation
ref_1158647 = ref_1155332 # MOV operation
ref_1158649 = ref_1158647 # MOV operation

print ref_1158649 & 0xffffffffffffffff
